package com.sealer.pattern.creational.singleton;

/**
 * Created by sealer on 17/03/28.
 * 第三种（饿汉）
 * 这种方式基于classloader机制避免了多线程的同步问题，不过，instance在类装载时就实例化，
 * 虽然导致类装载的原因有很多种，在单例模式中大多数都是调用getInstance方法， 但是也不能
 * 确定有其他的方式（或者其他的静态方法）导致类装载，这时候初始化instance显然没有达到lazy
 * loading的效果。
 */
public class Singleton3 {
    private Singleton3() {
    }

    //有人建议写成final的， 那就写成final吧
    private static final Singleton3 INSTANCE = new Singleton3();

    public static Singleton3 getInstance() {
        return INSTANCE;
    }
}
